// This is a test file taken from open source project.
// https://github.com/eugenp/tutorials/blob/master/jmh/src/main/java/com/baeldung/bitset/Plotter.java
package com.baeldung.bitset;
import org.openjdk.jol.info.ClassLayout;
import org.openjdk.jol.info.GraphLayout;
//
//import java.io.BufferedWriter;
//import java.io.IOException;
//import java.nio.file.Files;
//import java.nio.file.Path;
//import java.nio.file.Paths;
//import java.nio.file.StandardOpenOption;
//import java.util.BitSet;
//
//public class Plotter {
//
//    public static void main(String[] args) throws IOException {
//        Path path = Paths.get("footprint.csv");
//        try (BufferedWriter stream = Files.newBufferedWriter(path, StandardOpenOption.CREATE)) {
//            stream.write("bits,bool,bitset\n");
//
//            for (int i = 0; i <= 10_000_000; i += 500) {
//                System.out.println("Number of bits => " + i);
//
//                boolean[] ba = new boolean[i];
//                BitSet bitSet = new BitSet(i);
//
//                long baSize = ClassLayout.parseInstance(ba).instanceSize();
//                long bitSetSize = GraphLayout.parseInstance(bitSet).totalSize();
//
//                stream.write((i + "," + baSize + "," + bitSetSize + "\n"));
//
//                if (i % 10_000 == 0) {
//                    stream.flush();
//                }
//            }
//        }
//    }
//}
